package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 页面配置对象 page_config
 * 
 * @author ruoyi
 * @date 2025-03-30
 */
public class PageConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 页面标题 */
    @Excel(name = "页面标题")
    private String title;

    /** 模板ID */
    @Excel(name = "模板ID")
    private Long templateId;

    /** 页面标识 */
    @Excel(name = "页面标识")
    private String pageKey;

    /** 页面配置 */
    @Excel(name = "页面配置")
    private String config;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 版本号 */
    @Excel(name = "版本号")
    private Long version;

    /** 是否发布（0未发布 1已发布） */
    @Excel(name = "是否发布", readConverterExp = "0=未发布,1=已发布")
    private String isPublished;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setPageKey(String pageKey) 
    {
        this.pageKey = pageKey;
    }

    public String getPageKey() 
    {
        return pageKey;
    }

    public void setConfig(String config) 
    {
        this.config = config;
    }

    public String getConfig() 
    {
        return config;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }

    public void setIsPublished(String isPublished) 
    {
        this.isPublished = isPublished;
    }

    public String getIsPublished() 
    {
        return isPublished;
    }

    public void setPublishTime(Date publishTime) 
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() 
    {
        return publishTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("title", getTitle())
            .append("templateId", getTemplateId())
            .append("pageKey", getPageKey())
            .append("config", getConfig())
            .append("status", getStatus())
            .append("version", getVersion())
            .append("isPublished", getIsPublished())
            .append("publishTime", getPublishTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
